const fs = require("fs"); //引入操作文件的模块
const moment = require("moment"); //引入操作文件的模块

const querystring = require("querystring"); //引入查询字符串模块
let value = fs.readFileSync("persons.json").toString(); //读取persons.json文件转成字符串
value = JSON.parse(value); //将字符串转成对象方便操作
//定义登录

function login(user1) {
  let user = user1; //给参数赋值
  //1. 用户名不能为空
  if (!user.tel) {
    return("用户名不能为空");
  }
  //2. 密码不能为空
  if (!user.pass || user.pass2) {
    return("密码不能为空");
  }
 //两次密码是否一致
  if(user.pass !== user.pass2){
      return "两次密码不一致"
  }
  //3. 用户名长度必须为5到15位
  if(user.tel.length < 5 || user.tel.length > 15){
      return "长度不合法"
  };

  //4. 用户名已存在
  // 登录
  let admin = value.find(
    (item) => user.tel === item.tel && user.pass === item.pass); //箭头函数的参数为true
  if (admin) {
    return "登录成功";
  } else {
    return "用户名或密码错误";
  }

}

//定义注册

function register(user1) {

  let user = user1;
  //1. 用户名不能为空
  if (!user.tel) {
    return("用户名不能为空");
  }
  //2. 密码不能为空
  if (!user.pass || user.pass2) {
    return("密码不能为空");
  }
  //两次密码是否一致
  if(user.pass !== user.pass2){
    return "两次密码不一致"
    }
  //3. 用户名长度必须为5到15位
  if(user.tel.length < 5 || user.tel.length > 15){
    return "长度不合法"
};
  //4. 用户名已存在

  // 注册
  let tag = value.find((item) => item.tel === user.tel);
  if (tag) {
    // console.log('该用户已注册');
    return "该用户已注册";
    //  document.write('该用户已注册')
  } else {

    let { tel,pass}=user//解构
   
    let time = moment().format('YYYY年MM月DD日, hh:mm:ss');; 
    let obj = {
        tel,
        pass,
        time
    }
    value.push(obj); //将user的值加进去
    fs.writeFileSync("persons.json", JSON.stringify(value), { flag: "w" }); //将对象转成字符串以写的形式写进去
    // console.log(value);
    return "注册成功";
  }
}
module.exports = {
  login,
  register,
}; //暴露login, register
